System.register([], function (_export) {
"use strict";
var CallExpression, Call;
function _classCallCheck(instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
return {
setters: [],
execute: function () {
CallExpression = (function () {
function CallExpression(observerLocator, targetProperty, sourceExpression, valueConverterLookupFunction) {
_classCallCheck(this, CallExpression);
this.observerLocator = observerLocator;
this.targetProperty = targetProperty;
this.sourceExpression = sourceExpression;
this.valueConverterLookupFunction = valueConverterLookupFunction;
}
CallExpression.prototype.createBinding = function createBinding(target) {
return new Call(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.valueConverterLookupFunction);
};
return CallExpression;
})();
_export("CallExpression", CallExpression);
Call = (function () {
function Call(observerLocator, sourceExpression, target, targetProperty, valueConverterLookupFunction) {
_classCallCheck(this, Call);
this.sourceExpression = sourceExpression;
this.target = target;
this.targetProperty = observerLocator.getObserver(target, targetProperty);
this.valueConverterLookupFunction = valueConverterLookupFunction;
}
Call.prototype.bind = function bind(source) {
var _this = this;
Iif (this.source === source) {
return;
}
Iif (this.source) {
this.unbind();
}
this.source = source;
this.targetProperty.setValue(function ($event) {
var result,
temp = source.$event;
source.$event = $event;
result = _this.sourceExpression.evaluate(source, _this.valueConverterLookupFunction);
source.$event = temp;
return result;
});
};
Call.prototype.unbind = function unbind() {
this.targetProperty.setValue(null);
};
return Call;
})();
}
};
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL2JpbmRpbmcvc3JjL2NhbGwtZXhwcmVzc2lvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFBYSxjQUFjLEVBbUJyQixJQUFJOzs7Ozs7O0FBbkJHLG9CQUFjO0FBQ2QsaUJBREEsY0FBYyxDQUNiLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUM7Z0NBRGpGLGNBQWM7O0FBRXZCLGNBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0FBQ3ZDLGNBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0FBQ3JDLGNBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUN6QyxjQUFJLENBQUMsNEJBQTRCLEdBQUcsNEJBQTRCLENBQUM7U0FDbEU7O0FBTlUsc0JBQWMsV0FRekIsYUFBYSxHQUFBLHVCQUFDLE1BQU0sRUFBQztBQUNuQixpQkFBTyxJQUFJLElBQUksQ0FDYixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLE1BQU0sRUFDTixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsNEJBQTRCLENBQ2hDLENBQUM7U0FDTDs7ZUFoQlUsY0FBYzs7O2dDQUFkLGNBQWM7O0FBbUJyQixVQUFJO0FBQ0csaUJBRFAsSUFBSSxDQUNJLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixFQUFDO2dDQURoRyxJQUFJOztBQUVOLGNBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQTtBQUN4QyxjQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUNyQixjQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzFFLGNBQUksQ0FBQyw0QkFBNEIsR0FBRyw0QkFBNEIsQ0FBQztTQUNsRTs7QUFORyxZQUFJLFdBUVIsSUFBSSxHQUFBLGNBQUMsTUFBTSxFQUFDOzs7QUFDVixjQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFDO0FBQ3hCLG1CQUFPO1dBQ1I7O0FBRUQsY0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDO0FBQ2IsZ0JBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztXQUNmOztBQUVELGNBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLGNBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQUEsTUFBTSxFQUFJO0FBQ3JDLGdCQUFJLE1BQU07Z0JBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDakMsa0JBQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3ZCLGtCQUFNLEdBQUcsTUFBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQUssNEJBQTRCLENBQUMsQ0FBQztBQUNuRixrQkFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDckIsbUJBQU8sTUFBTSxDQUFDO1dBQ2YsQ0FBQyxDQUFDO1NBQ0o7O0FBekJHLFlBQUksV0EyQlIsTUFBTSxHQUFBLGtCQUFFO0FBQ04sY0FBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEM7O2VBN0JHLElBQUkiLCJmaWxlIjoiL1VzZXJzL0Vpc2VuYmVyZ0VmZmVjdC9Eb2N1bWVudHMvR2l0SHViL1RoZSBEdXJhbmRhbCBQcm9qZWN0L2F1cmVsaWEvYmluZGluZy9zcmMvY2FsbC1leHByZXNzaW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENhbGxFeHByZXNzaW9uIHtcbiAgY29uc3RydWN0b3Iob2JzZXJ2ZXJMb2NhdG9yLCB0YXJnZXRQcm9wZXJ0eSwgc291cmNlRXhwcmVzc2lvbiwgdmFsdWVDb252ZXJ0ZXJMb29rdXBGdW5jdGlvbil7XG4gICAgdGhpcy5vYnNlcnZlckxvY2F0b3IgPSBvYnNlcnZlckxvY2F0b3I7XG4gICAgdGhpcy50YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFByb3BlcnR5O1xuICAgIHRoaXMuc291cmNlRXhwcmVzc2lvbiA9IHNvdXJjZUV4cHJlc3Npb247XG4gICAgdGhpcy52YWx1ZUNvbnZlcnRlckxvb2t1cEZ1bmN0aW9uID0gdmFsdWVDb252ZXJ0ZXJMb29rdXBGdW5jdGlvbjtcbiAgfVxuXG4gIGNyZWF0ZUJpbmRpbmcodGFyZ2V0KXtcbiAgICByZXR1cm4gbmV3IENhbGwoXG4gICAgICB0aGlzLm9ic2VydmVyTG9jYXRvcixcbiAgICAgIHRoaXMuc291cmNlRXhwcmVzc2lvbixcbiAgICAgIHRhcmdldCxcbiAgICAgIHRoaXMudGFyZ2V0UHJvcGVydHksXG4gICAgICB0aGlzLnZhbHVlQ29udmVydGVyTG9va3VwRnVuY3Rpb25cbiAgICAgICk7XG4gIH1cbn1cblxuY2xhc3MgQ2FsbCB7XG4gIGNvbnN0cnVjdG9yKG9ic2VydmVyTG9jYXRvciwgc291cmNlRXhwcmVzc2lvbiwgdGFyZ2V0LCB0YXJnZXRQcm9wZXJ0eSwgdmFsdWVDb252ZXJ0ZXJMb29rdXBGdW5jdGlvbil7XG4gICAgdGhpcy5zb3VyY2VFeHByZXNzaW9uID0gc291cmNlRXhwcmVzc2lvblxuICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICAgIHRoaXMudGFyZ2V0UHJvcGVydHkgPSBvYnNlcnZlckxvY2F0b3IuZ2V0T2JzZXJ2ZXIodGFyZ2V0LCB0YXJnZXRQcm9wZXJ0eSk7XG4gICAgdGhpcy52YWx1ZUNvbnZlcnRlckxvb2t1cEZ1bmN0aW9uID0gdmFsdWVDb252ZXJ0ZXJMb29rdXBGdW5jdGlvbjtcbiAgfVxuXG4gIGJpbmQoc291cmNlKXtcbiAgICBpZih0aGlzLnNvdXJjZSA9PT0gc291cmNlKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZih0aGlzLnNvdXJjZSl7XG4gICAgICB0aGlzLnVuYmluZCgpO1xuICAgIH1cblxuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICAgIHRoaXMudGFyZ2V0UHJvcGVydHkuc2V0VmFsdWUoJGV2ZW50ID0+IHtcbiAgICAgIHZhciByZXN1bHQsIHRlbXAgPSBzb3VyY2UuJGV2ZW50O1xuICAgICAgc291cmNlLiRldmVudCA9ICRldmVudDtcbiAgICAgIHJlc3VsdCA9IHRoaXMuc291cmNlRXhwcmVzc2lvbi5ldmFsdWF0ZShzb3VyY2UsIHRoaXMudmFsdWVDb252ZXJ0ZXJMb29rdXBGdW5jdGlvbik7XG4gICAgICBzb3VyY2UuJGV2ZW50ID0gdGVtcDtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG4gIH1cblxuICB1bmJpbmQoKXtcbiAgICB0aGlzLnRhcmdldFByb3BlcnR5LnNldFZhbHVlKG51bGwpO1xuICB9XG59XG4iXX0= |